package com.firefly.admin.tripartite.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.firefly.admin.common.vo.Result;
import com.firefly.admin.tripartite.entity.FyTripartiteWechatOfficialAccount;
import com.firefly.admin.tripartite.vo.WechatOfficialAccountQueryVo;
import com.firefly.admin.tripartite.vo.WechatOfficialAccountStatusUpdateVo;

public interface FyTripartiteWechatOfficialAccountService {
    /**
     * 分页查询第三方微信公众号接口
     *
     * @param wechatOfficialAccountQueryVo 分页查询参数
     * @return 分页列表
     */
    Result<Page<FyTripartiteWechatOfficialAccount>> getWechatOfficialAccountList(WechatOfficialAccountQueryVo wechatOfficialAccountQueryVo);

    /**
     * 第三方微信公众号信息新增接口
     *
     * @param fyTripartiteWechatOfficialAccount 微信公众号信息
     * @return 操作结果
     */
    Result<FyTripartiteWechatOfficialAccount> add(FyTripartiteWechatOfficialAccount fyTripartiteWechatOfficialAccount);

    /**
     * 第三方微信公众号信息编辑接口
     *
     * @param fyTripartiteWechatOfficialAccount 微信公众号信息
     * @return 操作结果
     */
    Result<FyTripartiteWechatOfficialAccount> update(FyTripartiteWechatOfficialAccount fyTripartiteWechatOfficialAccount);

    /**
     * 第三方微信公众号状态编辑接口
     *
     * @param wechatOfficialAccountStatusUpdateVo 状态信息
     * @return 操作结果
     */
    Result<FyTripartiteWechatOfficialAccount> updateStatus(WechatOfficialAccountStatusUpdateVo wechatOfficialAccountStatusUpdateVo);

    /**
     * 第三方微信公众号信息删除接口
     *
     * @param officialAccountId 微信公众号ID
     * @return 操作结果
     */
    Result<String> delete(Long officialAccountId);

    /**
     * 第三方微信公众号APPID校验接口
     *
     * @param appId             微信公众号APPID
     * @param officialAccountId 微信公众号ID
     * @return 校验结果
     */
    Result<String> appIdCheck(String appId, Long officialAccountId);
}
